Vector inner products can represent the similarity and correlation between vectors and therefore are widely used in fields such as Machine Learning, Information Retrieval, Recommender System, etc. For example, a recommender system in a network environment attempts to measure the similarity between users' preference vectors by computing the inner product to find neighbors of users and aggregate users into groups. Cosine correlation and Pearson correlation are common measures of similarity. Although their formulas are different, the essential parts are both vector inner products. Support Vector Machine uses only vector inner products to construct a decision super plane. The formula for computing a vector inner product is very simple. If vectors are A=(a1, a2, . . . , an) and B=(b1, b2, . . . , bn), then their inner product is:
            〈              A        ,        B            〉        =                  ∑                  i          =          0                n            ⁢              a        i              ,      b    i    ,      i    =          1      ⁢                          ⁢      …      ⁢                          ⁢      n      
Another scenario related to user private information protection in a network environment is the recommending process of a recommender system. In the recommending process, the recommender system uses the resource preference vectors of a user's neighbors to form a recommendation list for the user. The resource preference vectors including private information such as browsing history, downloading logs, transactions, and personal profiles, etc. In the recommending process of a conventional recommender system the private information of a user's neighbors will be exposed to the user or a central server.
Therefore, there is a need in the field for a solution for computing the inner product of user preference vectors and for protecting user privacy in scenarios such as the recommending process of a recommender system.